

#ifndef IOSClientFrameworkTest_CFPageDelegate_h
#define IOSClientFrameworkTest_CFPageDelegate_h
#import <UIKit/UIKit.h>
@protocol QJPageClientDelegate <NSObject>

@optional

//上拉
-(void)onGoUpWithControl:(id)control;
//下拉
-(void)onGoDownWithControl:(id)control;
//选中
-(void)onGoCellSelect:(NSIndexPath *)indexPath withObject:(id) object withControl:(id)control;

-(CGFloat)onTableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;

- (NSInteger)onNumberOfSectionsInTableView:(UITableView *)tableView;

//展开收起列表用，返回此section的0个或多个数据
- (NSInteger)onToTableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;

//返回头view
-(UIView *)onHeaderInSection:(NSInteger )section withObject:(id) object  withControl:(id)control;

//返回头的高度
-(CGFloat)onHeightForHeaderInSection:(NSInteger)section withObject:(id) object withControl:(id)control;

//返回尾的高度
-(CGFloat)onHeightForFooterInSection:(NSInteger)section withObject:(id) object  withControl:(id)control;

-(NSArray *)onSctionIndexTitlesForTableView:(UITableView *)tableView;

-(NSInteger)onTableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index;

//修改
-(void)onGoEditStyle:(UITableViewCellEditingStyle)editingStyle withIndexPath:(NSIndexPath *)indexPath withObject:(id) object withControl:(id)control;

//cell左话button字体改变
-(NSString *)onGotableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath;

//修改返回的样式
-(UITableViewCellEditingStyle)onGetCellEditingStyle:(NSIndexPath *)indexPath withObject:(id) object withControl:(id)control;
//即将显示cell
- (void)onGoTableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath ;

//删除
-(void)onGoDeselectRowAtIndexPath:(NSIndexPath *)indexPath withObject:(id) object withControl:(id)control;

//返回cell
-(UITableViewCell *)onGoTableView:(UITableViewCell *)tableViewCell cellForRowAtIndexPath:(NSIndexPath *)indexPath;

//滑动事件
- (void)OnGoScrollViewDidScroll:(UIScrollView *)scrollView;
//手指拿开停止
- (void)OnGoScrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate;

//滑动结束停止
- (void)OnGoScrollViewDidEndDecelerating:(UIScrollView *)scrollView;

@end



@protocol QJPageServerDelegate <NSObject>

-(NSArray*)getDatas;
//重新填充数据
-(void)reload:(NSArray *)array withRowAnimation:(UITableViewRowAnimation)animation;

//插入数据到指定位置
-(void)insertDatas:(NSArray *)array atIndex:(NSRange)index withRowAnimation:(UITableViewRowAnimation)animation;
//插入数据到指定位置
-(void)insertSectionDatas:(NSArray *)array atIndex:(int)index withRowAnimation:(UITableViewRowAnimation)animation;

//移除指定位置的数据
-(void)removeAtIndex:(int)index withRowAnimation:(UITableViewRowAnimation)animation;

//带section移除某一个行
-(void)removeSection:(NSRange )range withRowAnimation:(UITableViewRowAnimation)animation;

//插入到最后
-(void)insertLast:(NSArray *)array withRowAnimation:(UITableViewRowAnimation)animation;

//查处到最前
-(void)insertFirst:(NSArray *)array withRowAnimation:(UITableViewRowAnimation)animation;

//通知控件数据已经加载，但是是空数据
-(void)loaded;

//清除所有数据
-(void)clear;

@end


#endif
